MySQL 文字化けしたデータを表示する
MySQL 4.1.22
照合順序がlatin1やutf8-unicode-ciのままデータを投入すると、データが文字化けしてしまうことがあります。
私の場合は、データベースの中身は文字化けしてlatin1になっているのですが、PHPのプログラムで出力するときは、文字化けしないので、そのまま利用していました。
しかし、他のデータベースをUTF-8で利用する必要があり、DBが文字化けしてしまう設定のままではまずいので、既存のDBのデータは手を入れず新しいDBは文字化けを直すようにすることを考えました。
既存のDB←DBの文字コード:latin1 新しく作成するDB←DBの文字コード:utf-8
上記のまま利用すると、新しいものが文字化けしてしまう、ということです。
ということで、文字化けはMySQLの日本語文字化け対策のように修正し、既存のDBは一度
" SET CHARACTER SET latin1";
とMySQLの文字コードをlatin1にセットしてから表示するようにして、文字化けを解消しました。